1. Field of the Invention
This invention pertains in general to computer security and in particular to detecting legitimate software.
2. Description of the Related Art
There is a wide variety of malicious software (malware) that can attack modern computers. Malware threats include computer viruses, worms, Trojan horse programs, spyware, adware, crimeware, and phishing websites. Malware can, for example, surreptitiously capture important information such as logins, passwords, bank account identifiers, and credit card numbers. Similarly, the malware can provide hidden interfaces that allow the attacker to access and control the compromised computer.
Modern malware is often targeted and delivered to only a relative handful of computers. For example, a Trojan horse program can be designed to target computers in a particular department of a particular enterprise. Such malware is difficult for security software to detect because there are fewer instances of the same malware, and the security software might not be configured to recognize it. Moreover, even mass-distributed malware is becoming harder to detect because the malware can contain polymorphisms designed to evade detection.
In response to the increasing difficulty of detecting malware, security software is evolving toward white list-based security. Under a white list approach, software appearing on a white list of known legitimate software is allowed to execute on the computer. Software not appearing on the white list is treated as suspicious and might be prohibited from executing.
However, it is difficult to maintain a white list. There is a large amount of legitimate software and making a comprehensive white list is a difficult task. Moreover, legitimate software can change in ways that cause it to no longer match its entry on the white list, such as when software automatically updates itself. If legitimate software does not appear on the white list, or no longer matches its corresponding entry, the security software can misclassify the legitimate software and generate false-positive malware detections. Therefore, there is a need for a way to generate a white list that minimizes or eliminates these drawbacks.